#ifndef CHANNEL_H
#define CHANNEL_H

#include <QObject>

#include "../RScode/source/superheader.h"

class Channel : public QObject
{
  Q_OBJECT

  // !!!!!!!!!!! нужно оттестировать
public:
  explicit Channel(qreal E, qreal SNRdB, QObject *parent = 0);

  QVector<QPointF> addNoise(QVector<QPointF> s); // добавить шум к входным сигналам
  void             setSNRdB(const qreal SNRdB);  // задать соотношение сигнал-шум

protected:
  qreal   randn(); // числа распределенные по нормальному закону
  QPointF noise(); // шум в виде сигнальной точки
  qreal   rnd();   // генератор случайных числе [0; 1]

private:
  qreal m_E;     // средняя энергия сигналов
  qreal m_sigma; // среднее квадратичное отклонение

};

#endif // CHANNEL_H
